<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<xsl:decimal-format  grouping-separator=" " name="polskie"/>

<xsl:template match="/">
<xsl:for-each select="wiat/pastwa/pastwo[nazwa = 'Polska']">
  <h1><xsl:value-of select="nazwa"/></h1>
  Stolica: <b><xsl:value-of select="stolica"/></b><br/>
  Obszar: <b><xsl:value-of select="format-number(obszar,'### ### ###', 'polskie')"/></b>   km2<br/>
  Ludno: <b><xsl:value-of select="format-number(ludno,'### ### ###', 'polskie')"/></b> <br/>
  rednie zagszczenie ludnoci na km2: <b><xsl:value-of select="format-number(ludno div obszar,'### ### ###', 'polskie')"/></b>   [osoby/km2]<p/>
  <b>Pastwa graniczce:</b>
</xsl:for-each>
<table width="100%" border="2">
  <tr>
    <td align="center"><b>Pastwo</b></td>
    <td align="center"><b>Stolica</b></td>
    <td align="center"><b>Obszar</b></td>
    <td align="center"><b>Ludno</b></td>
    <td align="center"><b>rednie zagszczenie</b></td>
  </tr>
  <xsl:apply-templates select="wiat/pastwa/pastwo[nazwa != 'Polska']"/>
  <tr>
    <td></td>
    <td></td>
    <td align="right">
    <b>
    <xsl:value-of select="format-number(sum(wiat/pastwa/pastwo[nazwa != 'Polska']/obszar),'### ### ###;--### ### ###','polskie')"/>   km2
    </b>
  </td>
  <td align="right">
    <b>
    <xsl:value-of select="format-number(sum(wiat/pastwa/pastwo[nazwa != 'Polska']/ludno),'### ### ###;--### ### ###','polskie')"/> 
    </b>
  </td>
    <td align="right">
    <b>
    <xsl:value-of select="format-number(sum(wiat/pastwa/pastwo[nazwa != 'Polska']/ludno) div sum(wiat/pastwa/pastwo[nazwa != 'Polska']/obszar),'### ### ###;--### ### ###','polskie')"/> 
    </b>
  </td>
  </tr>
</table>
</xsl:template>

<xsl:template match="pastwo[nazwa != 'Polska']">
<tr>
  <td align="left">
    <xsl:value-of select="nazwa"/>  
  </td>
  <td align="left">
    <xsl:value-of select="stolica"/>  
  </td>
  <td align="right">
    <xsl:if test="obszar = 0">
      <xsl:message terminate="yes">Pastwo nie moe mie zerowego obszaru ... chyba, e jest pastwo internetowe.</xsl:message >
    </xsl:if>

    <xsl:value-of select="format-number(obszar,'## ### ###','polskie')"/>  km2
  </td>
  <td align="right">
    <xsl:value-of select="format-number(ludno,'# ### ### ###','polskie')"/> 
  </td>
  <td align="right">
    <xsl:value-of select="format-number(ludno div obszar,'# ### ### ###','polskie')"/> 
  </td>

</tr>
</xsl:template>
</xsl:stylesheet>
